package br.edu.delta.form;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import javax.enterprise.context.SessionScoped;

import br.edu.delta.dto.LivroDevolucaoDTO;
import br.edu.delta.model.Devolucao;
import br.edu.delta.model.Emprestimo;
import br.edu.delta.util.Util;

/**
 * <p>
 * <b>Title:</b> DevolucaoForm
 * </p>
 * 
 * <p>
 * <b>Description:</b> DevolucaoForm
 * </p>
 * 
 * <p>
 * <b>Company: </b>
 * </p>
 * 
 * @author Denis
 * 
 * @version 1.0.0
 */
@SessionScoped
public class DevolucaoForm extends Formulario<Devolucao> {

	/** Atributo serialVersionUID. */
	private static final long serialVersionUID = -1L;

	/** Atributo livros. */
	// private List<Livro> livros;

	private List<LivroDevolucaoDTO> listaLivrosDevolucao;

	private Emprestimo emprestimo;

	private boolean mostrarPainelDatas;

	private BigDecimal valorTotalMulta;

	// /**
	// * Retorna o valor do atributo <code>livros</code>
	// *
	// * @return <code>List<Livro></code>
	// */
	// public List<Livro> getLivros() {
	//
	// if (Util.isNull(livros)) {
	//
	// this.livros = new ArrayList<>();
	// }
	//
	// return livros;
	// }

	// /**
	// * Define o valor do atributo <code>livros</code>.
	// *
	// * @param livros
	// */
	// public void setLivros(List<Livro> livros) {
	//
	// this.livros = livros;
	// }

	/**
	 * Retorna o valor do atributo <code>emprestimo</code>
	 * 
	 * @return <code>Emprestimo</code>
	 */
	public Emprestimo getEmprestimo() {

		return emprestimo;
	}

	/**
	 * Define o valor do atributo <code>emprestimo</code>.
	 * 
	 * @param emprestimo
	 */
	public void setEmprestimo(Emprestimo emprestimo) {

		this.emprestimo = emprestimo;
	}

	/**
	 * Retorna o valor do atributo <code>listaLivrosDevolucao</code>
	 * 
	 * @return <code>List<LivroDevolucaoDTO></code>
	 */
	public List<LivroDevolucaoDTO> getListaLivrosDevolucao() {

		if (Util.isNull(listaLivrosDevolucao)) {

			this.listaLivrosDevolucao = new ArrayList<>();
		}

		return listaLivrosDevolucao;
	}

	/**
	 * Define o valor do atributo <code>listaLivrosDevolucao</code>.
	 * 
	 * @param listaLivrosDevolucao
	 */
	public void setListaLivrosDevolucao(List<LivroDevolucaoDTO> listaLivrosDevolucao) {

		this.listaLivrosDevolucao = listaLivrosDevolucao;
	}

	/**
	 * Retorna o valor do atributo <code>mostrarPainelDatas</code>
	 * 
	 * @return <code>boolean</code>
	 */
	public boolean isMostrarPainelDatas() {

		return mostrarPainelDatas;
	}

	/**
	 * Define o valor do atributo <code>mostrarPainelDatas</code>.
	 * 
	 * @param mostrarPainelDatas
	 */
	public void setMostrarPainelDatas(boolean mostrarPainelDatas) {

		this.mostrarPainelDatas = mostrarPainelDatas;
	}

	/**
	 * Retorna o valor do atributo <code>valorTotalMulta</code>
	 * 
	 * @return <code>BigDecimal</code>
	 */
	public BigDecimal getValorTotalMulta() {

		return valorTotalMulta;
	}

	/**
	 * Define o valor do atributo <code>valorTotalMulta</code>.
	 * 
	 * @param valorTotalMulta
	 */
	public void setValorTotalMulta(BigDecimal valorTotalMulta) {

		this.valorTotalMulta = valorTotalMulta;
	}

}
